﻿
namespace EasyNet.Solr.Commons.Params
{
    /// <summary>
    /// A collection of params used in DisMaxRequestHandler,both for Plugin initialization and for Requests.
    /// </summary>
    public struct DisMaxParams
    {
        /// <summary>
        /// query and init param for tiebreaker value
        /// </summary>
        public const string TIE = "tie";

        /// <summary>
        /// query and init param for query fields
        /// </summary>
        public const string QF = "qf";

        /// <summary>
        /// query and init param for phrase boost fields
        /// </summary>
        public const string PF = "pf";

        /// <summary>
        /// query and init param for MinShouldMatch specification
        /// </summary>
        public const string MM = "mm";

        /// <summary>
        /// query and init param for Phrase Slop value in phrase
        /// boost query (in pf fields)
        /// </summary>
        public const string PS = "ps";

        /// <summary>
        /// query and init param for phrase Slop value in phrases
        /// explicitly included in the user's query string ( in qf fields)
        /// </summary>
        public const string QS = "qs";

        /// <summary>
        /// query and init param for boosting query
        /// </summary>
        public const string BQ = "bq";

        /// <summary>
        /// query and init param for boosting functions
        /// </summary>
        public const string BF = "bf";

        /// <summary>
        /// Alternate query (expressed in Solr QuerySyntax)
        /// to use if main query (q) is empty
        /// </summary>
        public const string ALTQ = "q.alt";

        /// <summary>
        /// query and init param for field list
        /// </summary>
        public const string GEN = "gen";
    }
}
